/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/
"use strict";

var $protobuf = require("protobufjs/light");

var $root = ($protobuf.roots["default"] || ($protobuf.roots["default"] = new $protobuf.Root()))
.addJSON({
  pb: {
    nested: {
      app: {
        nested: {
          MessageRequest: {
            fields: {
              messageData: {
                type: "RequestData",
                id: 2
              },
              timestamp: {
                type: "uint64",
                id: 3
              },
              version: {
                type: "string",
                id: 4
              },
              unique: {
                type: "string",
                id: 5
              }
            }
          },
          MessageResponse: {
            fields: {
              messageData: {
                type: "ResponseData",
                id: 2
              },
              timestamp: {
                type: "uint64",
                id: 3
              },
              reqUnique: {
                type: "string",
                id: 4
              }
            }
          },
          RequestData: {
            fields: {
              ping: {
                type: "Ping",
                id: 1
              },
              login: {
                type: "pb.user.LoginReq",
                id: 2
              }
            },
            nested: {
              Ping: {
                fields: {}
              }
            }
          },
          Pong: {
            fields: {}
          },
          ResponseData: {
            fields: {
              ping: {
                type: "Ping",
                id: 1
              },
              pong: {
                type: "Pong",
                id: 2
              }
            },
            nested: {
              Ping: {
                fields: {}
              }
            }
          }
        }
      },
      user: {
        nested: {
          User: {
            fields: {
              name: {
                type: "string",
                id: 2
              }
            }
          },
          LoginReq: {
            fields: {
              user: {
                type: "User",
                id: 2
              }
            }
          },
          LoginRsp: {
            fields: {
              userD: {
                type: "sint64",
                id: 1
              },
              user: {
                type: "User",
                id: 2
              }
            }
          }
        }
      }
    }
  }
});

module.exports = $root;
